Subject: TCP connection management

From: [email-masked] (Anand Subramaniam)
Date: Fri, 30 Jul 93 18:11:35 PDT

Hi,

 I do not know whether this is the right group to pose the following
 questions I have on TCP connection management. Since I saw some attempts
 earlier by Peter to explain the 6611 implementation on this I am posting in
 this group. I want to start this discussion again to obtain a clear
 understanding of the existing implementation and try to explore other 
 possibilties and possibly arrive at a consensus.

 Now, according to the RFC there are 2 ports 2065 and 2067. So we could have
 a connection pair 

	2065: IP-A :: 2067: IP-B and
	2067: IP-A :: 2065: IP-B.

First, I do not quite understand why we need a TCP connection pair when the
TCP itself is fully capable of handling data in full-duplex mode each
direction having its own window ... So do we really need this?

Listening Ports
===============
Should a DLSw node be "listening" on the 2 ports i,e 2065 and 2067 so that
either DLSw node could initiate a connection and depending upon the existence
of the above tuple pair we can resolve collisions when both nodes attempt to
make connections at the same time by backing off and re-trying.

Or is it that the "read port" is the listening port? So that when a tcp
connection comes in on the read port on IP-B , the listener opens a new socket 
binds and accepts the connection so that the 2067: IP-A :: 2065:IP-B is
formed and B opens a new socket and binds as 2067 and issues to connect to A
on port 2065 so that 2065: IP-A :: 2067:IP-B is formed.

Either way we can achieve the connection pair. 

TCP connection Maintainence
============================

But how is the TCP connection is going to be maintained? What happens if one
of them goes down? Do we try and re-connect or do we clear all the DL
connections referencing the TCP connection?

Who is the "owner" of the TCP connection? When the last DL connection
referencing the TCP connection goes away, do we get rid of the TCP
connection? I tend to define the "owner" of the TCP connection as the one who
created it. 

I tend to agree with Scott who  made some suggestions some time back  
regarding connection management. When we multiplex a large number of DL
connections over a single TCP connection, we could easily get congested. Of
course we need to have a good congestion control scheme in the DLSw itself
which might alleviate the problem. OSI addresses this problem in TP-2 by
allowing both implicit and explicit flow control. So we could have a limit on
number of DL connection over a single transport connection or Why not have a
single transport connection per DL connection if traffic is going to be
heavy?(No flames please!). Barring resource uilization, I don't see any other
problem. Are the customers charged on a per TCP connection basis?

--andy
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| UUCP:  {ames,apple,sun,mtxinu}!excelan!andy         (Anand Subramaniam) |
| INTERNET:  [email-masked]                          Ph : (408)-473-8413 |
| " Now and then I go off in to my own little world; But they know me     |
|   there"                                                                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

---

From: [email-masked] (Susie Kim Riley)
Date: Sat, 31 Jul 93 11:22:08 EDT

This is my interpretation -
 _____________________________________________________________________